package com.sq.partner.manager.dao;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import com.sq.partner.manager.mybatis.model.NlifeCoreProd;
import com.sq.partner.manager.mybatis.model.NlifeProd;
import com.sq.partner.manager.util.Page;

/**
 * 新意健险产品
 * @author Mango
 *
 */
public interface INlifeProdDao extends BaseDao{
		public Page<NlifeProd> queryProdPageByCriteria(Page<NlifeProd> page) throws Exception;
		public Page<NlifeCoreProd> queryNLifeCoreProd(Page<NlifeCoreProd> page) throws Exception;
		public NlifeProd queryProdInfoById(String param) throws Exception;
		public String findMaxNewLifeTradProdCode(String coreProdCode) throws Exception;
		public boolean saveProd(NlifeProd prod) throws Exception;
		public boolean updateProd(NlifeProd prod) throws Exception;
		public boolean deleteProd(String prodCode) throws Exception;
		public List<NlifeProd> queryAllCoreProdInfoList() throws Exception;
		public boolean updateSaleCode(Map<String, String> map) throws Exception;
		public boolean updateRiskMain(Map<String, String> map) throws Exception;
		/**导出产品产品查询*/
		public List<Map<String, Object>> impNlifeProd(Map<String, Object>map) throws Exception;
		/**导出保障计划查询 */
		public List<Map<String, Object>> impNlifeProdRation(Map<String, Object>map) throws Exception;
	/**
	 * 分页条件查询
	 * @param page
	 * @return
	 * @throws Exception
	 */
	public Page<NlifeProd> queryPageByCriteria(Page<NlifeProd> page) throws Exception;
	
	
	/**
	 * 根据方案号planNo获取新意健险产品特殊标识
	 * */	
	public String getSpecTypeInNlifeProd(String planNo) throws Exception;
	
	boolean insertProdInfoWithRiskCal(String sql) throws Exception;
	public void updateUpdateProdSpecialArran(List<Map<String,String>> param) throws Exception;
	
}
